home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Apps / AudioApps / GISO / Defaults.m < prev    next >
Text File  |  1992-12-20  |  2KB  |  117 lines

  1. /*    
  2. **    Copyright (C) 1992  Ronin Consulting, Inc.
  3. **
  4. **    This program is free software; you can redistribute it and/or modify
  5. **    it under the terms of the GNU General Public License as published by
  6. **    the Free Software Foundation; version 1.
  7. **
  8. **    This program is distributed in the hope that it will be useful,
  9. **    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. **    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. **    GNU General Public License for more details.
  12. **
  13. **    You should have received a copy of the GNU General Public License
  14. **    along with this program; if not, write to the Free Software
  15. **    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  16. */
  17.  
  18. #import "Defaults.h"
  19. #import <appkit/Application.h>
  20.  
  21. static id  theOnlyOne = nil;
  22. static NXDefaultsVector noDefs = {{NULL}};
  23.  
  24.                 
  25.    
  26. @implementation Defaults
  27.  
  28. + new
  29. {
  30.    if(!theOnlyOne)
  31.    {
  32.       theOnlyOne = self = [super new];
  33.       appName = [NXApp appName];
  34.       registered = NO;
  35.    }
  36.    else
  37.        self = theOnlyOne;
  38.    
  39.    return self;
  40. }
  41.  
  42.  
  43. - regDefaults:(NXDefaultsVector) defaultsVector
  44. {
  45.    NXRegisterDefaults(appName, defaultsVector);
  46.    registered = YES;
  47.    return self;
  48. }
  49.  
  50.  
  51. - (const char *)get: (char *) aDefault
  52. {
  53.    if(!registered)
  54.        [self regDefaults: noDefs];
  55.  
  56.    return NXGetDefaultValue(appName, aDefault);
  57. }
  58.  
  59. - set: (char *) aDefault to: (char *)aValue
  60. {
  61.    if(!registered)
  62.        [self regDefaults: noDefs];
  63.  
  64.    NXSetDefault(appName, aDefault, aValue);
  65.    return self;
  66. }
  67.  
  68. - (const char *) readDB: (char *) aDefault
  69. {
  70.    if(!registered)
  71.        [self regDefaults: noDefs];
  72.  
  73.    return NXReadDefault(appName, aDefault);
  74. }
  75.  
  76. - writeDB: (char *) aDefault as: (char *)aValue
  77. {
  78.    if(!registered)
  79.        [self regDefaults: noDefs];
  80.  
  81.    NXWriteDefault(appName, aDefault, aValue);
  82.    return self;
  83. }
  84.  
  85.  
  86. - remove: (char *) aDefault
  87. {
  88.    if(!registered)
  89.        [self regDefaults: noDefs];
  90.  
  91.    NXRemoveDefault(appName, aDefault);
  92.    return self;
  93. }
  94.  
  95. - update: (char *) aDefault
  96. {
  97.    if(!registered)
  98.        [self regDefaults: noDefs];
  99.  
  100.    NXUpdateDefault(appName, aDefault);
  101.    return self;
  102. }
  103.  
  104. - update
  105. {
  106.    if(!registered)
  107.        [self regDefaults: noDefs];
  108.  
  109.    NXUpdateDefaults();
  110.    return self;
  111. }
  112.  
  113.  
  114. @end
  115.  
  116.  
  117.